package com.jubaozan.service.platform;


import com.jubaozan.c3.framework.datasource.EnableMybatisPlugins;
import com.jubaozan.c3.framework.service.EnableServicePlugins;
import com.jubaozan.c3.framework.service.plugins.swagger.SwaggerConfiguration;
import com.jubaozan.feign.level.LevelFeignService;
import com.jubaozan.feign.login.LoginFeignService;
import com.jubaozan.feign.order.OrderFeignService;
import com.jubaozan.feign.store.StoreFeignService;
import com.jubaozan.feign.supplier.audit.SupplierNwtFeignService;
import com.jubaozan.feign.supplier.goods.SupplierGoodsFeignService;
import com.jubaozan.feign.user.UserFeignService;
import com.jubaozan.modules.validation.EnableValidation;
import com.jubaozan.service.platform.vo.ConfigureProperties;
import com.jubaozan.feign.goods.StoreGoodsFeignService;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.context.annotation.ComponentScan;

/**
 * 微服务示例工程
 *
 * @author yuanjie
 */
@EnableValidation
@EnableDiscoveryClient
@EnableFeignClients(clients = {
        OrderFeignService.class,
        StoreGoodsFeignService.class,
        LoginFeignService.class,
        LevelFeignService.class,
        UserFeignService.class,
        SupplierNwtFeignService.class,
        SupplierGoodsFeignService.class,
        StoreFeignService.class})
@SpringBootApplication
@EnableServicePlugins(plugins = {SwaggerConfiguration.class})
@EnableMybatisPlugins
@EnableConfigurationProperties({ConfigureProperties.class})
@ComponentScan({"com.jubaozan.dao.youme", "com.jubaozan.service.platform"})
@MapperScan({"com.jubaozan.service.platform.mybatis.mapper", "com.jubaozan.dao.youme.mapper"})
public class PlatformServiceApplication {
    public static void main(String[] args) {
        SpringApplication.run(PlatformServiceApplication.class, args);
    }
}
